package com.woniuxy.mapper;

import com.woniuxy.enitity.Stu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 作者
 * @create 2025-09-25 9:59
 * 定义学生CRUD的方法
 */
public interface StuMapper {
    void insert(Stu stu);
    void updateBySid(Stu stu);
    void deleteBySid(int sid);
    //根据主键查询
    Stu selectBySid(int sid);
    //查询所有学生
    List<Stu> selectAll();
    //模糊查询
    List<Stu> selectBySname(String sname);
    List<Stu> select01(Stu stu);
    //多个参数：每个参数前必须添加一个注解
    //这个注解的作用就是给参数起个别名，在sql语句中使用注解这个名字
    List<Stu> select02(@Param("sname") String sname,
                       @Param("age") int age);
    List<Stu> select03(@Param("sname") String sname);
    List<Stu> select04(@Param("stu") Stu stu);
    //学生使用sname做条件，age不用学生的age,使用第二个参数
    List<Stu> select05(@Param("stu") Stu stu,@Param("age") int age);
    //多条件组合查询
    List<Stu> selectByCondition(Stu stu);
    List<Stu> selectByCondition02(Stu stu);
    List<Stu> selectByCondition03(Stu stu);
    //select * from stu where sid=1 or sid=2
    //select * from stu where sid in (1,2,3,4)
    List<Stu> selectByArray(int[] sids);
    List<Stu> selectByList(List<Integer> sids);
    List<Stu> selectByList02(@Param("sids") List<Integer> sids);
}
